package main

import (
	"go-mp-starter/bootstrap"
	"go-mp-starter/global"
)

func main() {
	// 初始化配置
	bootstrap.InitConfig()
	// 初始化日志
	global.App.Log = bootstrap.InitLog()
	// 测试log
	global.App.Log.Info("log init success.")

	// 初始化数据库
	global.App.DB = bootstrap.InitDB()

	// 程序关闭前师释放数据库连接
	defer func() {
		if global.App.DB != nil {
			db, _ := global.App.DB.DB()
			db.Close()
		}
	}()

	// 初始化验证器
	bootstrap.InitValidator()

	// 初始化Redis
	global.App.Redis = bootstrap.InitRedis()

	// 初始化文件驱动
	bootstrap.InitStorage()

	// 初始化微信小程序实例
	global.App.Wxapp = bootstrap.InitWxapp()

	// 启动服务器
	bootstrap.RunServer()
}
